草庐IT

java - ThreadLocal 资源泄漏和 WeakReference

全部标签

javascript - 如何使用 Selenium 检查 javascript 应用程序中的内存泄漏?

我正在使用java+selenium自动测试javascript网络应用程序。出现的一个问题是内存泄漏以及如何测试它们。由于我已经在使用selenium来测试应用程序,是否有一种简单的方法来获取Web应用程序的内存使用情况和其他分析信息?(利用selenium或/和其他自动化web-js测试工具)目前我正在使用chromedriver,但将来会扩展到使用firefox和ie驱动程序。 最佳答案 是的,不能单独使用selenium,请查看dynaTrace或httpWatch等工具。这些可以与webDriver集成。另外,看看this

javascript - 通过页面重新加载诊断内存泄漏

我怀疑我的单页javascript应用程序某处存在内存泄漏。如果页面保持打开状态,运行Firefox或Chrome的弱设备似乎最终会崩溃。我正在尝试确定重新加载页面是否会释放内存。我知道内存处理是特定于浏览器的,因此在Chrome或Firefox中答案可能不同。注意:我知道在这个问题中提到了很多浏览器(这可能是题外话),但这个问题的重点是关于javascript调试,我认为这是非常切题的。 最佳答案 除了浏览器/扩展错误,浏览器会在不再需要时释放资源;Firefox清除compartments,Chrome杀processes和相关

javascript - 如何判断网页资源何时被缓存?

在JavaScript中有没有一种方法可以让我判断资源是否已经在浏览器缓存中?我们正在对一小部分客户端页面浏览量进行检测,以便我们可以更好地了解用户的页面加载速度。用户第一次访问我们的网站时,浏览器会缓存一些资源(JS、CSS、图像),因此他们的初始页面浏览量会比后续页面慢。现在,这些数据混合在一起,因此很难区分初始页面加载与由于其他原因而缓慢的后续页面浏览。我喜欢一种跨浏览器的方式来检查缓存是否已经准备就绪,这样我就可以隔离这两种网页浏览并分别进行分析。 最佳答案 你应该使用TransferSize:window.performa

javascript - 拦截浏览器对资源的请求

有什么方法可以加载初始脚本(页面顶部的文件),然后在页面继续运行时尝试拦截所有其他资源请求(脚本、css、图像等)加载?此拦截的目的是通过webrtc以不可知的方式从缓存(localStorage、indexedDB等)或什至从远程对等点提供文件,而不依赖于应用程序/页面的组合方式。我知道缓存list/离线方法,但这里的重点是获取请求的资源并从选择的位置代理它。 最佳答案 一个解决方案是在第一个脚本中注册一个serviceworker来拦截请求。唯一的问题是这个注册是异步的,而资源是同步加载的,这意味着在第一次加载时将获取原始资源。

javascript - 如何使用 Angular 资源 sails ?

我正在使用Angular资源sails。varitems=sailsResource('roles').query();//GET/item$scope.roles=items;angular.forEach($scope.roles,function(value,key){console.log(key+':'+value);});输出:未定义。如何解析这个查询? 最佳答案 检查文档的这一部分:https://github.com/angular-resource-sails/angular-resource-sails#succ

javascript - 如何分析我的 Node 应用程序以查看我在哪里用完了内存和 CPU 资源?

我的网站,CompassionPit.com,由Node.js提供支持。我已经发布了源代码;这是hostedatGitHub.该应用程序本身在具有768MBRAM的Linode上运行(我最近升级了服务器;它是512MB)。最近我收到了来自Linode的CPU使用率通知:我们的使用率越来越频繁地达到90%以上。我调用Linode看看我能做些什么来升级我对CPU资源的访问,但显然我现在还好,因为如果我们最大限度地达到100%,那么我们可以溢出到下一个3个内核(Linode是4个处理器Xen实例)。我如何分析我的Node应用程序以查看我在哪里用完了内存和CPU资源?我预计我很快将需要重组应用

javascript - addEventListener 内存泄漏

通过addEventListener注册事件时在一个元素上,然后在不删除事件的情况下删除该元素,并反复这样做,内存会“泄漏”吗? 最佳答案 它不应该泄漏。当事件处理程序导致主机对象JS对象循环时,一个臭名昭著的浏览器是IE(最高版本7),而IE(最高版本8)不支持addEventListener.如果您想在特定浏览器中对其进行测试,请让它继续运行并查看浏览器的内存使用量在长期内受到的影响。functionreplace(){varx=document.getElementById('x');if(x.firstChild!==nul

javascript - 使用 this/self 引用的 javascript 闭包会导致内存泄漏吗?

根据我对内存泄漏的理解,在闭包中引用范围外的var会导致内存泄漏。但创建“that”var以保留“this”引用并在闭包中使用它也是一种常见的做法,尤其是对于事件。那么,做这样的事情有什么用:SomeObject.prototype.createImage=function(){varthat=this,someImage=newImage();someImage.src='someImage.png';someImage.onload=function(){that.callbackImage(this);}};这不会给项目增加一点漏洞吗? 最佳答案

javascript - 防止 AJAX 内存泄漏

我正在开发一个Web应用程序,该应用程序旨在显示一组使用AJAX定期更新的数据。一般的使用场景是用户整天打开它,偶尔看一眼。我遇到了一个问题,即浏览器的内存占用量随着时间的推移增长缓慢。这在Firefox和IE7中都发生了(尽管在Chrome中没有)。几个小时后,它会导致IE7的占用空间约为200MB,而FF3的占用空间约为400MB。经过大量测试,我发现只有在响应AJAX调用时才会发生内存泄漏。如果服务器没有响应任何内容,我可以让页面打开数小时,占用空间也不会增加。我正在为我的AJAX调用使用原型(prototype)。所以,我猜onSuccess回调存在问题,造成了这些内存泄漏。有

javascript - 闭包是如何造成内存泄漏的?

我正在审阅此演示文稿中的幻灯片:http://slid.es/gruizdevilla/memory在其中一张幻灯片中,显示此代码时会提示它会造成内存泄漏:vara=function(){varsmallStr='x',largeStr=newArray(1000000).join('x');returnfunction(n){eval('');//maintainsreferencetolargeStrreturnsmallStr;};}();Closurescanbeanothersourceofmemoryleaks.Understandwhatreferencesarereta